As data is employed to an increasing extent in contemporary society, there is a need for a simple, but effective, method of providing lossless data compression, and correspondingly a simple method of providing lossless data de-compression. Conventional known run-length encoding methods of compressing data are only really effective for compressing continuous data, which is generally not so common within data communication systems which often execute packetized data exchange. Packetized data exchange within data communication systems, for example in the Internet, results in transfer of many small packets of data. However, it is well known to people skilled in the technical art of data compression that run-length encoding (RLE) is capable of providing a better data compression ratio in comparison to other known data compression techniques.
All variations of run-length encoding method employ a counter and a character of bytes which are encoded by such methods. When implementing the methods, the counter is set for each run of such characters. Moreover, there are several variations in the methods regarding how to represent the counter for the character, but these are always encoded into the same output data with the characters of bytes. In consequence, regular known RLE methods have been found to provide a relatively poor data compression ratio.
Literature representing known contemporary art is provided in Table 1.
TABLE 1Known technical artDocument ref.Detail of documentDocument D1“Run-length encoding” - Wikipedia, (accessed 28 November 2012),URL: http//en.wikipedia.org/wiki/Run-length_encodingDocument D2“Huffman coding” - Wikipedia, (accessed 28 November 2012),URL: http://en.wikipedia.org/wiki/Huffman_codingDocument D3“Run Length Encoding (RLE) - Discussion and Implementation”(accessed 18 December 2012), URL: http://michael.dipperstein.com/rle/index.htmlDocument D4“Run Length Encoding” by Arturo Campos (accessed 18 December 2012), URL: http://www.arturocampos.com/ac_rle.htmlDocument D5“A Mathematical Theory of Communication” Claude E. Shannon (1948), (accessed 28 November 2012), URL: http://cm.bell-labs.com/cm/ms/what/shannonday/shannon1948.pdfDocument D6Shannon's source coding theorem - Wikipedia (accessed 28 November2012), URL: http://en.wikipedia.org/wiki/Source_coding_theoremDocument D7“Entropy” - Wikipedia (accessed 28 November 2012), URL:http://en.wikipedia.org/wiki/EntropyDocument D8“Variable-length code” - Wikipedia (accessed 28 November 2012),URL: http://en.wikipedia.org/wiki/Arithmetic_codingDocument D9“Arithmetic coding” - Wikipedia (accessed 28 November 2012),URL: http://en.wikipedia.org/wiki/Arithmetic_codingDocument D10“Delta encoding” - Wikipedia (accessed 28 November 2012), URL: http://en.wikipedia.org/wiki/Delta_coding